package com.itxiuyixiu.entity.mapper;

import com.itxiuyixiu.entity.model.Admin;
import org.apache.ibatis.annotations.Insert;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Select;

import java.util.List;
import java.util.Optional;

/**
 * @author 黄磊
 * @date 2020/5/1
 */
public interface AdminReaderMapper {
    /**
     * 根据用户名查找
     *
     * @param username 用户名
     * @return 管理员信息
     */
    Optional<Admin> findAdminByUsername(String username);

    /**
     * 根据Id查找管理员
     *
     * @param adminId 管理员Id
     * @return 生成的主键
     */
    Optional<Admin> findAdminById(Integer adminId);

    /**
     * 根据用户名查找用户是否存在
     *
     * @param username 用户名
     * @return 是否存在（true - 用户名存在，false - 用户名不存在）
     */
    Boolean existByUsername(String username);

    /**
     * 查询所有的用户
     *
     * @return 所有的用户信息
     */
    List<Admin> findAllAdmin();

    boolean existByEmail(String email);
}
